The present invention relates to industrial control systems for controlling machinery and processes and, in particular, to an adapter architecture to enable a programmable controller to operate with a variety of different networks in a manner that makes the differences between the networks invisible to the controller.
Industrial control systems are special-purpose computers for controlling machinery and equipment. In contrast to more conventional computer systems, industrial control systems generally provide greater flexibility and hardware configuration (to match a variety of different control applications) and have a higher standard of reliability and predictability necessary for real-time control of complex machinery.
Greater flexibility in hardware configuration is typically obtained by a modular and distributed construction in which an industrial control system may be assembled of multiple modules, for example, a central programmable controller connected to an arbitrary number of I/O modules, the latter providing communication with various switches and sensors on the machine.
The various components of the industrial control system may be connected together by means of a high-speed “control network” using a variety of special protocols that ensure predictable, timely and reliable communication of control data. For example, control network protocols may employ “connected messaging” in which the bandwidth of the network and buffer space is pre-allocated to dedicated “connections” to prevent lost or unpredictably delayed data transfer that can occur in standard network protocols such as Ethernet.
A variety of different control networks have been developed by different manufacturers and for different control applications, each having different communication protocols. Protocol as used herein refers not simply to the format of the data (e.g. baud rate, the number of bits, error correction codes and the like), but also to the steps of establishing a connection, assigning addresses to connections, handling connection errors, sending acknowledgment messages and the like.
Often, the programmable controller of an industrial control system must communicate with control components connected over multiple different control network types. This is normally done through the use of special-purpose software tools which produce programs running concurrently with the industrial control program to provide the necessary network handling (a.k.a. gateway) logic for the different networks. These software tools increase the complexity of programming and of configuring the industrial control system by adding additional programming steps and operating programs. As new networks are integrated into the control system, the control program may need to be revised, an often costly exercise. In addition, the additional communication overhead can adversely affect the operation of the control system.